#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>
#include "hsvcolor.h"

class ConfigDialog;
class FFMPEGWrapper;
class CaptureWrapper;
class HSVWidget;
class QComboBox;

namespace Ui
{
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

    void loadThumbs();
    QList<QString> listFrames();

public slots:
    void showConfig();
    void takeSnapshot();
    void createMovie();
    void showFrame(QString filename);
    void onionToggled();
    void deleteFrame();
    void setBackground();
    void maskChanged(HSVColor color);

private:
    Ui::MainWindow *ui;

    ConfigDialog *m_configDialog;
    FFMPEGWrapper *m_ffmpegWrapper;
    CaptureWrapper *m_captureWrapper;
    HSVWidget *m_hsvWidget;
    QComboBox *m_zoomCombo;

    QString m_prefix;
    QString m_workingDir;
    QString m_movieName;

    QString m_lastFrame;

    int m_frameCount;
};

#endif // MAINWINDOW_H
